﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыОперацийИсправленияПоступленияРеализации
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"e18703eb-05df-4143-9d48-73b26231d2d7\", \"Представление\":\"ИсправлениеОшибки\"}")]
		ИсправлениеОшибки = 0,//Исправление в первичных документах
		[EnumMember(Value = "{\"Ссылка\":\"8046303c-b4a6-486c-b9f6-ec291c1b6937\", \"Представление\":\"СогласованноеИзменение\"}")]
		СогласованноеИзменение = 1,//Корректировка по согласованию сторон
	}
	public static partial class ВидыОперацийИсправленияПоступленияРеализации_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ИсправлениеОшибки = new Guid("b273489d-3162-d7d2-4143-05dfe18703eb");//Исправление в первичных документах
		public static readonly Guid СогласованноеИзменение = new Guid("29ecf6b9-1b1c-3769-486c-b4a68046303c");//Корректировка по согласованию сторон
		public static ВидыОперацийИсправленияПоступленияРеализации Получить(this ВидыОперацийИсправленияПоступленияРеализации Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийИсправленияПоступленияРеализации Получить(this ВидыОперацийИсправленияПоступленияРеализации Значение, Guid Ссылка)
		{
			if(Ссылка == ИсправлениеОшибки)
			{
				return ВидыОперацийИсправленияПоступленияРеализации.ИсправлениеОшибки;
			}
			else if(Ссылка == СогласованноеИзменение)
			{
				return ВидыОперацийИсправленияПоступленияРеализации.СогласованноеИзменение;
			}
			return ВидыОперацийИсправленияПоступленияРеализации.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийИсправленияПоступленияРеализации Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийИсправленияПоступленияРеализации Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийИсправленияПоступленияРеализации.ИсправлениеОшибки: return ИсправлениеОшибки;
				case ВидыОперацийИсправленияПоступленияРеализации.СогласованноеИзменение: return СогласованноеИзменение;
			}
			return Guid.Empty;
		}
	}
}